package com.shop.loan.mapper;

import com.github.pagehelper.Page;
import com.shop.loan.model.entity.LoanOrderByMybatis;
import com.shop.loan.model.entity.UserByMybatis;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

public interface LoanOrderByMybatisMapper {
    int deleteByPrimaryKey(Long id);

    int insert(LoanOrderByMybatis row);

    int insertSelective(LoanOrderByMybatis row);

    LoanOrderByMybatis selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(LoanOrderByMybatis row);

    int updateByPrimaryKeyWithBLOBs(LoanOrderByMybatis row);

    int updateByPrimaryKey(LoanOrderByMybatis row);


    Page<LoanOrderByMybatis> selectByList(LoanOrderByMybatis loanOrderByMybatis);

    LoanOrderByMybatis selectOrderByIng(@Param("userId") Long userId);

    Integer selectIngByIden(@Param("cardNum") String cardNum);

    Integer selectNumByLoanSuccess(@Param("userId") Long userId);

    Integer selectNum(LoanOrderByMybatis loanOrderByMybatis);

    Page<LoanOrderByMybatis> selectOrderListByDay(LoanOrderByMybatis loanOrderByMybatis);

    Page<LoanOrderByMybatis> selectOrderListByPart(LoanOrderByMybatis loanOrderByMybatis);

//    Integer selectCountByChannel(LoanOrderByMybatis loanOrderByMybatis);

    Integer selectCount(LoanOrderByMybatis loanOrderByMybatis);

    BigDecimal selectMoney(LoanOrderByMybatis loanOrderByMybatis);

    LoanOrderByMybatis selectSum(LoanOrderByMybatis loanOrderByMybatis);

    List<LoanOrderByMybatis> selectOverdueByList();

    List<LoanOrderByMybatis> selectOverdueUnCollection();

    Integer selectNumByPoint(LoanOrderByMybatis loanOrderByMybatis);

    LoanOrderByMybatis selectByUserWaitAuth(@Param("userId") Long userId);

    LoanOrderByMybatis selectByLastSecond(@Param("userId") Long userId);

    LoanOrderByMybatis selectByLast(@Param("userId") Long userId);

    List<LoanOrderByMybatis> selectPutListByIng();

    int updateOrderByHide();

    Page<UserByMybatis> selectByUserEnd(UserByMybatis user);

    LoanOrderByMybatis selectOrderByOtherApplyNo(@Param("otherApplyNo") String other_apply_no);

    Integer selectIngByUser(@Param("userId") Long userId);

    Integer selectWaitPayByUser(@Param("userId") Long userId);

    List<LoanOrderByMybatis> selectByUser(@Param("userId") Long userId);

    List<String> selectIpByList(@Param("userId") Long userId);
}